#ifndef _DOT_SDK_MEDIA_H
#define _DOT_SDK_MEDIA_H

#ifdef __cplusplus
extern "C" {
#endif

typedef enum API_EVENT
{
	MC_EVENT_NONE = 0,
	MC_EVENT_ALARM = 4,
	MC_EVENT_PIR = 15,
	MC_EVENT_RING = 16,
	MC_EVENT_LOW_BATTERY = 21,
	MC_EVENT_MAX,
} MC_EVENT_TYPE_E;

typedef struct {
	char bBellEvent;
	char bAlarmEvent;
	char bPIREvent;
	char bLowBatteryEvent;
	unsigned long long BellEvent_utcms;
	unsigned long long AlarmEvent_utcms;
	unsigned long long PIREvent_utcms;
	unsigned long long LowBatteryEvent_capacity;
} MC_EVENT_ATTR_S;

int DOTMediaInit(void);
int DOTMediaDeinit(void);
int DOTVideoPushData(int sync, unsigned char* data, unsigned int size, unsigned int timestamp);
int DOTAudioPushData(unsigned char* data, unsigned int size, unsigned int timestamp);
int DOTMediaClearData(void);
void DOTSetOnlineState(int state);
void DOTSetEventState(MC_EVENT_ATTR_S *stEventAttr);
void DOTGetAwakeType(int type);
void DOTClearEvent(void);
uint64_t get_utc_ms(void);

#ifdef __cplusplus
} 
#endif
#endif